The REBOOT approach to software reuse
نویسندگان
چکیده
ion: Usually an OO component can be characterized by a noun, e.g., calendar, flight manager, fire alarm system. Operations: Components have operations, and these are characterized in the Operations facet. Operates On: This facet describes the objects that the component acts on, e.g., integers, set, list, resource. Dependencies: These are non-functional dependencies and characteristics which limit the scope of reuse to a certain context, e.g., C++ code, Unix-based software, HOOD design models. An example could be a stack (abstraction) of integer (operates on) written in C++ (dependencies) with operations push, pop, top, and swap. It is possible to have more than one term for each facet. In addition to the terms filled in for the facets, a component will have other attributes, such as size, developer, and date. The distinction between facets and other attributes is that the facets are the properties most relevant for reuse. For the facets, structured term spaces are provided, facilitating fuzzy retrieval. This is not done for ordinary attributes. Potential reusers often do not know exactly what they are looking for. Moreover, there is a possibility for terminology mismatch between the reuser and library. Consequently, it is useful to be able to retrieve not only components exactly matching the search criteria, but also components which are close to a match. To support this kind of fuzzy retrieval, REBOOT uses structured term spaces for the facets. In a term space, all the possible terms for a facet are related in a graph of weighted relations. The REBOOT approach to weighted term spaces is described in [25]. Since the structure of the term space will be domain specific, one must expect to maintain it continuously, according to feedback from the clients of the library (both providers and reusers). REBOOT’s proposed heuristics for maintaining a term space are discussed in [41]. 4 Applications and experiences Within REBOOT 25% of the effort has been dedicated to the support and evaluation of reuse applications. Applications have been conducted internally in the partner organizations as well as with external customers, and have provided important feedback for the reuse methodology. This section will give an overview of the types of applications conducted, and summarize the lessons learnt. A first, overall experience was that it turned out to be much more difficult than expected to initiate and maintain the applications. Some reasons for this are:
منابع مشابه
Classification of Object - Orientedcomponents For
There is a common agreement that increased successful reuse will lead to higher quality software at a lower cost. Object-oriented development techniques have advantages like limited semantic gap between design and implementation, en-capsulation, and inheritance which all promote reuse. To achieve reuse in an object-oriented context the components have to be classiied and ordered for retrieval a...
متن کاملFuzzy Reliability Evaluation of a Repairable System with Imperfect Coverage, Reboot and Common-cause Shock Failure
In the present investigation, we deal with the reliability characteristics of a repairable system consisting of two independent operating units, by incorporating the coverage factor. The probability of the successful detection, location and recovery from a failure is known as the coverage probability. The reboot delay and common cause shock failure are also considered. The times to failure of t...
متن کاملComponent-Dependency based Micro-Rejuvenation Scheduling
With the growth of Internet, “always on” services are becoming increasingly important. Software rejuvenation is a well-known proactive technique to prevent failures due to software aging and extend the lifetime of longrunning software such as Internet Servers, billing systems, telecommunication switches [1]. However, doing a machine reboot to rejuvenate takes time in the order of minutes and ca...
متن کاملDwarf Frankenstein is still in your memory: tiny code reuse attacks
Code reuse attacks such as return oriented programming and jump oriented programming are the most popular exploitation methods among attackers. A large number of practical and non-practical defenses are proposed that differ in their overhead, the source code requirement, detection rate and implementation dependencies. However, a usual aspect among these methods is consideration of the common be...
متن کاملThe Reuse of Historical Railway Stations in Turkey
In this paper, the build and survived railway stations over the time at which first railway lineconstruction started at Turkey until the present had been examined and the ones which were out of use and lost theiroriginal function with time had been determined. Also the determined building stock had been evaluated based onthe principle of giving new function to the old buildings, in especial of ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- Journal of Systems and Software
دوره 30 شماره
صفحات -
تاریخ انتشار 1995